package xrz.com.jr;

import android.app.Application;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import org.xutils.common.util.DensityUtil;
import org.xutils.image.ImageOptions;
import org.xutils.x;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * Created by Administrator on 2016/7/28.
 */
public class BaseApp extends Application{
    // 线程池中线程数量
    private static final int THREADSIZE = 8;
    // 线程池
    private static ExecutorService m_ExecutorService;
    public static ImageOptions imageOptions;
    public static DisplayImageOptions options; // DisplayImageOptions是用于设置图片显示的类
    public static ImageLoader imageLoader;

    @Override
    public void onCreate() {
        super.onCreate();
        x.Ext.init(this);
        x.Ext.setDebug(true);
        imageOptions = new ImageOptions.Builder().setSize(DensityUtil.dip2px(320), DensityUtil.dip2px(320))// 图片大小
                // .setRadius(DensityUtil.dip2px(5))//ImageView圆角半径
                // .setCrop(true)// 如果ImageView的大小不是定义为wrap_content, 不要crop.
                .setImageScaleType(ImageView.ScaleType.FIT_XY)
//                .setLoadingDrawableId(R.drawable.img_icon)// 加载中默认显示图片
                // .setFailureDrawableId(R.drawable.ic_launcher)//加载失败后默认显示图片
                .build();

        options = new DisplayImageOptions.Builder()
//                .showStubImage(R.drawable.img_icon) // 设置图片下载期间显示的图片
//                .showImageForEmptyUri(R.drawable.img_icon) // 设置图片Uri为空或是错误的时候显示的图片
//                .showImageOnFail(R.drawable.img_icon) // 设置图片加载或解码过程中发生错误显示的图片
                .cacheInMemory(true) // 设置下载的图片是否缓存在内存中
                .cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中
                .build(); // 创建配置过得DisplayImageOption对象

        imageLoader = ImageLoader.getInstance();
        ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(getApplicationContext());
        imageLoader.init(configuration);
    }

    /**
     * function：获取创建的线程池 ModifyDatetime: 2015-5-11 上午09:37:37
     *
     * @return
     */
    public static ExecutorService getExecutorService() {
        if (m_ExecutorService == null)
            createThreadPool();
        return m_ExecutorService;
    }

    // 创建线程池
    private static final void createThreadPool() {
        m_ExecutorService = Executors.newFixedThreadPool(THREADSIZE);
    }
}
